package com.vr.xuecheng.content.model.dto;

import com.vr.xuecheng.base.valid.ValidationGroup;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author hzh
 * @date 2025/03/04
 * 新增课程数据的参数
 */
@Data
public class CourseAddOrUpdateParamsDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = -6338007268419630280L;

    /**
     * 主键，修改携带，新增不携带
     */
    @NotNull(message = "课程id不能为空",groups = ValidationGroup.Update.class)
    private Long id;

    /**
     * 机构名称
     */
    private String companyName;

    /**
     * 大分类
     */
    @NotNull(message = "课程名称不能为空",groups = {ValidationGroup.Insert.class,ValidationGroup.Update.class})
    private String mt;
    /**
     * 小分类
     */
    @NotNull(message = "课程名称不能为空",groups = {ValidationGroup.Insert.class,ValidationGroup.Update.class})
    private String st;
    /**
     * 课程名称
     */
    @NotBlank(message = "课程名称不能为空",groups = {ValidationGroup.Insert.class,ValidationGroup.Update.class})
    private String name;
    /**
     * 图片地址
     */
    private String pic;
    /**
     * 教学模式
     */
    private String teachmode;
    /**
     * 适用人群
     */
    @NotBlank(message = "适用人群不能为空",groups = {ValidationGroup.Insert.class,ValidationGroup.Update.class})
    private String users;
    /**
     * 课程标签
     */
    private String tags;
    /**
     * 课程等级
     */
    @NotNull(message = "课程等级不能为空",groups = {ValidationGroup.Insert.class,ValidationGroup.Update.class})
    private String grade;
    /**
     * 课程描述
     */
    private String description;
    /**
     * 收费规则，对应数据字典
     */
    @NotNull(message = "课程类型不能为空",groups = {ValidationGroup.Insert.class,ValidationGroup.Update.class})
    private String charge;
    /**
     * 现价
     */
    private BigDecimal price;
    /**
     * 原价
     */
    private BigDecimal originalPrice;
    /**
     * qq
     */
    private String qq;
    /**
     * 微信
     */
    private String wechat;
    /**
     * 电话
     */
    private String phone;
    /**
     * 有效天数
     */
    private Integer validDays;
}
